Regarding an information processing device having a built-in computer system, such as a mobile information device (for example, a tablet, a smartphone, or a glasses-type wearable terminal or a wrist-watch type wearable terminal), an in-vehicle information system, or a sensor system; achieving power saving is one of the important technical issues to be tackled. In such an information processing device, a system on chip (SoC), which is configured by integrating a computer system on a large-scale integration (LSI) chip, serves as the main constituent element (component). In an SoC, a processor core (sometimes also called a processor, or a central processing unit (CPU), or a micro processing unit (MPU)) implements various functions by executing computer programs (software).
In an in-use information processing device, the processor core has (changes between) two main states, namely, a running state (also called an active state) and an idle state. In the running state, the processor core keeps on executing computer programs (commands). In contrast, in the idle state, the processor core does not execute computer programs, and keeps waiting for an interrupt that is issued as a notification of the occurrence of an event such as the completion of operations performed by an I/O device (a peripheral device).
In a conventional information processing device, when the processor core enters the idle state, the SoC switches to a WAIT mode (also called a SLEEP mode). During the WAIT mode of the SoC, although the processor core stops executing the computer programs, the necessary I/O devices keep performing operations. Thus, for example, in response to the occurrence of an event such as completion of an I/O operation, a user input, arrival of communication data, or a timer; the processor core immediately switches to the state of being able to resume the execution of the computer programs, and continuously consumes electrical power required to remain in the present state.
In that regard, many types of the SoC have a DEEP SLEEP mode (also called a STOP mode). Thus, when the information processing device having an SoC installed therein is not being used by the user, the SoC switches to the DEEP SLEEP mode and stands by at low power consumption. When the SoC switches to the DEEP SLEEP mode, not only the processor is stopped but also the I/O devices that need not perform operations are stopped. Moreover, if possible, the power supply to those constituent elements is also stopped; or the supplied power-supply voltage is lowered within a range which enables retention of the state; or the clock is stopped. As a result, it becomes possible to reduce the power consumption.
Conventionally, if it is detected that a state in which the user is not operating the device has continued for a prolonged period of time, or if it is detected that the remaining battery level has decreased, or if a request for switching the information processing device to a power saving state is received from the user; then the information processing device performs a suspend operation (also called a standby operation) so that the SoC (or the entire information processing device or the processor core) is switched to the DEEP SLEEP mode having low power consumption. With that, reduction in the power consumption is achieved.
In the conventional suspend operation, the SoC (or the entire information processing device) is set to a stable state before switching it to the DEEP SLEEP mode. Hence, after the suspend operation is over, it is possible to continue with the operations from the state before performing the suspend operation. That is, in the suspend operation, the computer programs being executed in the processor core (i.e., the processes or the tasks managed by the operating system) are stopped, and issuance of new processing requests to the I/O devices (the peripheral devices) is not allowed. In addition, if operations are underway in an I/O device that is configured to stop performing operations during the DEEP SLEEP mode (i.e., if an I/O device is not an activation-enabled device capable of activating the SoC from the DEEP SLEEP mode); then the completion of the operations is awaited, and the SoC is set to a stable state before switching it to the DEEP SLEEP mode. For that reason, the SoC is not switched to the DEEP SLEEP mode immediately after the start of the suspend operation, and it takes time to set the SoC to a stable state.
Generally, as compared to the WAIT mode, power consumption is lower in the DEEP SLEEP mode. Hence, while the processor core is in the idle state, if the SoC can be switched to the DEEP SLEEP mode instead of the WAIT mode, then it becomes possible to further reduce the average power consumption of the information processing device.
However, for example, while the processor core is in the idle state, if an attempt is made to switch the SoC to the DEEP SLEEP mode using the method of the conventional suspend operation, the overhead of the suspend operation reaches an non-negligible length. Consequently, the performance of the information processing device is severely impaired.